package main

import (
	"AsyncFlashStream/core"
	"AsyncFlashStream/global"
	"AsyncFlashStream/initialize"
	"go.uber.org/zap"
)

func main() {
	//初始化配置
	global.G_VIPER = core.Viper() // 初始化Viper
	//初始化日志
	global.G_LOG = core.Zap()        // 初始化zap日志库
	zap.ReplaceGlobals(global.G_LOG) //  替换全局日志记录器
	global.G_LOG.Info("日志初始化SUCCESS")
	//初始化mysql和redis
	global.G_DB = initialize.GormMysql() // gorm连接数据库
	if global.G_CONFIG.System.UseRedis {
		// 初始化redis服务 main已经初始化了
		initialize.Redis()
	}
	global.G_LOG.Info("数据库和redis初始化SUCCESS")
	if global.G_DB != nil {
		// 程序结束前关闭数据库链接
		db, _ := global.G_DB.DB()
		defer db.Close()
	}
	//初始化http服务
	core.RunWindowsServer()
}
